﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Homework3
{
    public enum OemType
    {
        Set = 0,
        String,
        Integer
    };

    public class OemObject
    {
        public string Label;
        public OemType Type;
        public object Value;
    }

    public static class OemTestSet
    {
        public static List<OemObject> Root;

        static OemTestSet()
        {
            Root = new List<OemObject>
                   {
                       new OemObject
                       {
                           Label = "biblio",
                           Type = OemType.Set,
                           Value = new List<OemObject>
                                   {
                                       new OemObject
                                       {
                                           Label = "doc",
                                           Type = OemType.Set,
                                           Value = new List<OemObject>
                                                   {
                                                       new OemObject
                                                       {
                                                           Label = "auth-set",
                                                           Type = OemType.Set,
                                                           Value = new List<OemObject>
                                                                   {
                                                                       new OemObject
                                                                       {
                                                                           Label = "auth-ln",
                                                                           Type = OemType.String,
                                                                           Value = "Ullman"
                                                                       }
                                                                   }
                                                       },
                                                       new OemObject
                                                       {
                                                           Label = "topic",
                                                           Type = OemType.String,
                                                           Value = "Databases"
                                                       },
                                                       new OemObject
                                                       {
                                                           Label = "internal-call-no",
                                                           Type = OemType.Integer,
                                                           Value = 25
                                                       }
                                                   }
                                       },
                                       new OemObject
                                       {
                                           Label = "doc",
                                           Type = OemType.Set,
                                           Value = new List<OemObject>
                                                   {
                                                       new OemObject
                                                       {
                                                           Label = "auth-set",
                                                           Type = OemType.Set,
                                                           Value = new List<OemObject>
                                                                   {
                                                                       new OemObject
                                                                       {
                                                                           Label = "auth-ln",
                                                                           Type = OemType.String,
                                                                           Value = "Aho"
                                                                       },
                                                                       new OemObject
                                                                       {
                                                                           Label = "auth-ln",
                                                                           Type = OemType.String,
                                                                           Value = "Hopcroft"
                                                                       },
                                                                       new OemObject
                                                                       {
                                                                           Label = "auth-ln",
                                                                           Type = OemType.String,
                                                                           Value = "Ullman"
                                                                       }
                                                                   }
                                                       },
                                                       new OemObject
                                                       {
                                                           Label = "topic",
                                                           Type = OemType.String,
                                                           Value = "Algorithms"
                                                       },
                                                       new OemObject
                                                       {
                                                           Label = "dewey-decimal",
                                                           Type = OemType.String,
                                                           Value = "BR273"
                                                       }
                                                   }
                                       },
                                       new OemObject
                                       {
                                           Label = "doc",
                                           Type = OemType.Set,
                                           Value = new List<OemObject>
                                                   {
                                                       new OemObject
                                                       {
                                                           Label = "auth",
                                                           Type = OemType.String,
                                                           Value = "Crichton"
                                                       },
                                                       new OemObject
                                                       {
                                                           Label = "topic",
                                                           Type = OemType.String,
                                                           Value = "Dinosaurs"
                                                       },
                                                       new OemObject
                                                       {
                                                           Label = "fictional-call-no",
                                                           Type = OemType.Integer,
                                                           Value = 95
                                                       }
                                                   }
                                       }
                                   }
                       }
                   };
        }
    }
}
